﻿<%@ Page Language="C#" AutoEventWireup="true"  Inherits="System.Web.UI.Page" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
    <style type="text/css" >
        caption { font-weight:bold ;}
    </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <h1>Gestion des Révisions dans Médianamik 2.0</h1>
    Le système de révision de Médianamik est inspiré du fonctionnement de <strong>Subversion</strong>.<br />
    Dans Subversion, il existe un numéro de révision global pour le dépot, mais chaque fichier peut avoir un numéro de révision différent.
    A chaque fois que des modifications sont soumise au dépot, une nouvelle révision est créée,
     et le numéro de révision de chaque fichier est incrémenté avec cette nouvelle révision.
     <br /><br />
     Le même principe est appliqué dans le case de Médianamik :
     <br />
     <table border="1">
       <caption>Analogies entre Subversion et Médianamik</caption>
       <thead>
        <tr>
           <th>Subversion</th><th>Médianamik</th>
        </tr>
       </thead>
       <tbody>
        <tr>
           <td>Dépot</td><td>Ensemble des noeuds</td>
       </tr><tr>
           <td>Dossier</td><td>Noeud</td>
       </tr><tr>
           <td>Fichier</td><td>Propriété d'un noeud</td>
       </tr><tr>
           <td>"Commit"</td><td>Publication de noeuds</td>
           
        </tr>
       </tbody>
     </table>
     L'ensemble des noeuds forme un dépot ou "repository".
     <br />
     Le numéro de révision global du dépot est géré dans la table Publication.
     <br />
     Lors de la création ou de l'édition d'un noeud, on attribue la valeur NULL à la révision pour les Propriétés qui ont été créées/modifiées
     <br />
     Chaque nouvelle publication de noeuds, entraine la création d'une nouvelle révision.
     On change alors la révision des propriétés des noeuds publiés.
     <br />
     <h2>Exemple</h2> 
     <h3>Création d'un noeud</h3>
     <table border="1">
       <caption>Noeud : Fruit</caption>
       <thead>
        <tr><th>Propriété</th><th>Valeur</th><th>Révision</th></tr>
       </thead>
       <tbody>
        <tr>
           <td>Espèce</td><td>Pomme</td><td>NULL</td>
        </tr>
        <tr>
           <td>Variété</td><td>Royal Gal</td><td>NULL</td>
        </tr>
       </tbody>
   </table>
   
   <h3>Publication du Noeud</h3>
   La publication du noeud entraine la création de la révision 1
   <table border="1">
       <caption>Noeud : Fruit</caption>
       <thead>
        <tr><th>Propriété</th><th>Valeur</th><th>Révision</th></tr>
       </thead>
       <tbody>
        <tr>
           <td>Espèce</td><td>Pomme</td><td>1</td>
        </tr>
        <tr>
           <td>Variété</td><td>Royal Gal</td><td>1</td>
        </tr>
       </tbody>
   </table>
   
   <h4>Résultat</h4>
   
   <table border="1">
       <caption>gen_Fruit</caption>
       <thead>
        <tr><th>Espèce</th><th>Variété</th><th>Révision</th></tr>
       </thead>
       <tbody>
        <tr>
           <td>Pomme</td><td>Royal Gal</td><td>1</td>
        </tr>
        
       </tbody>
   </table>
   
      <h3>Edition du noeud</h3>
      Il y a une erreur dans le nom de la variété, une nouvelle valeur est attribuée à Variété.
      L'ancienne valeur publiée est conservée. La valeur modifiées a une révision NULL tant qu'elle n'est pas publiée.
     <table border="1">
       <caption>Noeud : Fruit</caption>
       <thead>
        <tr><th>Propriété</th><th>Valeur</th><th>Révision</th></tr>
       </thead>
       <tbody>
        <tr>
           <td>Espèce</td><td>Pomme</td><td>1</td>
        </tr>
        <tr>
           <td>Variété</td><td>Royal Gal</td><td>1</td>
        </tr>
        <tr>
           <td>Variété</td><td>Royal Gala</td><td>NULL</td>
        </tr>
       </tbody>
   </table>
   
   <h3>Nouvelle publication</h3>
   La révision 2 est créée.
   <table border="1">
       <caption>Noeud : Fruit</caption>
       <thead>
        <tr><th>Propriété</th><th>Valeur</th><th>Révision</th></tr>
       </thead>
       <tbody>
        <tr>
           <td>Espèce</td><td>Pomme</td><td>1</td>
        </tr>
        <tr>
           <td>Variété</td><td>Royal Gal</td><td>1</td>
        </tr>
        <tr>
           <td>Variété</td><td>Royal Gala</td><td>2</td>
        </tr>
       </tbody>
   </table>
   
   <h4>Résultat</h4>
   Les deux révisions coexistent dans la table générée.
   <table border="1">
       <caption>gen_Fruit</caption>
       <thead>
        <tr><th>Espèce</th><th>Variété</th><th>Révision</th></tr>
       </thead>
       <tbody>
        <tr>
           <td>Pomme</td><td>Royal Gal</td><td>1</td>
        </tr><tr>
            <td>Pomme</td><td>Royal Gala</td><td>2</td>
        </tr>
        
       </tbody>
   </table>
   
   <h3>Edition du noeud</h3>
   <table border="1">
       <caption>Noeud : Fruit</caption>
       <thead>
        <tr><th>Propriété</th><th>Valeur</th><th>Révision</th></tr>
       </thead>
       <tbody>
        <tr>
           <td>Espèce</td><td>Pomme</td><td>1</td>
        </tr>
        <tr>
           <td>Variété</td><td>Royal Gal</td><td>1</td>
        </tr>
        <tr>
           <td>Variété</td><td>Royal Gala</td><td>2</td>
        </tr>
        <tr>
           <td>Variété</td><td>Royal Gala Delicious</td><td>NULL</td>
        </tr>
       </tbody>
   </table>
   
   <h4>Résultat</h4>
   Les noeuds en édition sont aussi insérés dans les tables générées
   <table border="1">
       <caption>gen_Fruit</caption>
       <thead>
        <tr><th>Espèce</th><th>Variété</th><th>Révision</th></tr>
       </thead>
       <tbody>
        <tr>
           <td>Pomme</td><td>Royal Gal</td><td>1</td>
        </tr><tr>
            <td>Pomme</td><td>Royal Gala</td><td>2</td>
        </tr><tr>
            <td>Pomme</td><td>Royal Gala Delicious</td><td>NULL</td>
        </tr>
        
       </tbody>
   </table>
   
    </div>
    </form>
</body>
</html>
